package com.time.thread.yield;

/**
 * @program: tes
 * @description: yield()方法的作用是放弃当前的CPU资源，将它让给其他的任务去占用CPU执行时间。
 * 但放弃的时间不确定，有可能刚刚放弃，马上又获得CPU时间片。
 * @author: xuejingjing
 * @create: 2021-10-21 09:38
 **/
public class YieldThread extends  Thread{
    @Override
    public void run() {
        super.run();

        long beginTime = System.currentTimeMillis();
        int count = 0;
        for (int i = 0; i < 50000000 ; i++) {
            //当前线程
            Thread.yield();    //用时:30284毫秒!
            //屏蔽掉是22ms
            count = count + (i+1);
        }
        long endTime = System.currentTimeMillis();
        // FIXME: 2021/10/21  获取持续时间
        System.out.println("用时:"+ (endTime - beginTime) +"毫秒!");
    }
}
